"use strict";
var __extends =
  (this && this.__extends) ||
  (function () {
    var extendStatics = function (d, b) {
      extendStatics =
        Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array &&
          function (d, b) {
            d.__proto__ = b;
          }) ||
        function (d, b) {
          for (var p in b)
            if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
        };
      return extendStatics(d, b);
    };
    return function (d, b) {
      if (typeof b !== "function" && b !== null)
        throw new TypeError(
          "Class extends value " + String(b) + " is not a constructor or null"
        );
      extendStatics(d, b);
      function __() {
        this.constructor = d;
      }
      d.prototype =
        b === null
          ? Object.create(b)
          : ((__.prototype = b.prototype), new __());
    };
  })();
var Person = /** @class */ (function () {
  function Person(name) {
    this.name = undefined;
    this.name = name;
  }
  return Person;
})();
Person.prototype;
var Student = /** @class */ (function (_super) {
  __extends(Student, _super);
  function Student() {
    return (_super !== null && _super.apply(this, arguments)) || this;
  }
  Student.prototype.add = function (a, b) {
    console.log(this.name);
    return a + b;
  };
  return Student;
})(Person);
var st = new Student("fyuc");
st.add(1, 2);
var ts1 = new Student("dfjkhjksdhf");
ts1.add(1, 20);
